Stepping motors are compact, direct drive motors which are capable of providing rotational positioning with a high degree of accuracy. For example, such motors may be characterized with gear ratios in the neighborhood of 200:1 and can be incrementally stepped utilizing digital circuitry. For these and other reasons, stepping motors have been found to be especially suitable for use in automotive dashboard indicators such as speedometers, tachometers, and the like.
A multi phase stepping motor may be described as comprising at least first and second coils (coils A and B) aligned out of phase from one another. (For example, a two-phase stepper motor has first and second coils typically perpendicularly oriented with respect to each other.) They are driven with current signals suitably out of phase from one another (e.g., 90° for a two-phase, perpendicularly-aligned motor). The first coil may be driven by a current of a first polarity, followed by the second coil being driven by a current of the same polarity. Next, the first coil is driven by a current with a second opposite polarity followed by driving the second coil with a current of the same opposite polarity, and so on. The motor's rotor is configured to have one or more pairs of poles (e.g. five pairs of north and south poles) that are individually and selectively attracted by the magnetic fields created by driving the first and second coils as described above. In the case of a speedometer or tachometer, the driving current is related to the physical speed of the vehicle (e.g. miles per hour (mph)) or the revolutions-per-minute (rpm) of the engine, as the case may be, which may, in turn, be reflected on a gauge by a needle or pointer attached to the rotor of the stepping motor.
Some applications of stepper motors require a periodic calibration, or known parking (sometimes referred to as zeroing), of the motor due to a potential loss of synchronicity of the controller with the motor load. Closed loop detection schemes are generally disfavored because they require additional sensing circuitry. Some closed loop techniques also constrain the speed and resolution of the drive signals during detection, resulting in a choppy and slow motor movement during calibration. Unfortunately, a difficulty is encountered when stepping motors are unitized in open-loop applications of the type described above. Due to the lack of feedback, there is no way to determine if a motor has driven the needle or pointer to the correct position and no way to correct the reading if a step or steps have been lost. Furthermore, when power is removed from the stepping motor, the pointer remains in the position it occupied at the time power was turned off thus destroying the relationship between the variable being measured and displayed (e.g. mph, rpm) and the actual position of the pointer. Thus, it has been found necessary to initialize or synchronize the stepping motor with the position of the needle being driven thereby each time power is applied to the system as, for example, when the ignition is first turned on or when the system is recovering from a failure such as an over-voltage condition, an inadvertent power interruption, or the like. This establishes a predetermined and desired relationship between the stepping motor/pointer assembly and the physical parameters being displayed.
One technique for accomplishing the above described initialization or calibration involves the detection of the motor's stall condition; i.e. the condition of the stepping motor when the needle attached to its rotor is accurately positioned at the absolute zero-point of the gauge (i.e. the physical stop on a gauge, which is typically at the indicator zero position or just below it) or any other desired known position. It has been recognized that a stepping motor's stall condition can be detected by monitoring the electro-motive-force (emf) developed in the stepping motor's coils (A and B) resulting from changes in flux therein due to the rotor's motion. That is, when the motor is stopped (as for example when it strikes the mechanical stop or peg) its rotor can no longer step or turn, and no emf is generated. Thus, techniques have been developed wherein the instantaneous back emf or integrated back emf (flux over time) are monitored by comparing them with a threshold value. If the threshold value is not exceeded, the stepping motor is assumed to be in its stalled position. For a further discussion of these approaches, the interested reader is directed to U.S. Pat. No. 5,032,781 entitled “METHOD AND CIRCUIT FOR OPERATING A STEPPING MOTOR” (instantaneous emf approach), U.S. Pat. No. 5,287,050 entitled “METHOD OF SYNCRONIZATION FOR AN INDICATION INSTRUMENT WITH ELECTROMAGNETICALLY CONTROLLED STEPPING MOTOR” (instantaneous emf approach), and U.S. Pat. App. Ser. No. 2003/0117100 entitled “METHOD AND APPARATUS FOR DETECTING A STALL CONDITION IN A STEPPING MOTOR” (integrated emf approach). Such stall detect schemes may be suitable for some applications, but they have drawbacks, which make them unsuitable for many other applications. For example, time is needed between steps for the back EMF signal to settle out thereby allowing it to be accurately read, which can result in undesirably slow or choppy parking (e.g., zeroing when the physical stop is at a zero position). Other problems relate to the extra circuitry required for reading and interpreting the back EMF signals and comparing them to a preselected, “stall” threshold level.
Other known open loop techniques involve simply overdriving the motor past the physical stop and allowing the rotor, to which the load is attached, to rebound from the stop, towards the rotating magnetic field as it approaches from the opposite direction of the stop, and then pulling the pointer towards the stop again. This cycle repeats until the motor coils are no longer driven. Unfortunately, however, the repetitive collisions and direction changes of the pointer can result in undesirable noise and pointer movement, or jitter, until the controller is certain that the position of the motor is close to the stop. This technique can also result in unacceptable position inaccuracy after the movement is stopped, due to the unknown position of the rotor relative to the stop.
Accordingly, it would be desirable to have an improved open loop stepper motor parking scheme.